@media screen and (max-width:599px) {
  /* ===== 공통 — 표시 토글(PC 기본값은 common.css) ===== */

  .mobile {
    display: flex !important;
  }

  .mobile-inline {
    display: inline !important;
  }

  .pc-inline {
    display: none !important;
  }

  .pc-mobile {
    display: none !important;
  }

  .mobile-pc {
    display: flex !important;
  }

  section img {
    width: 100%;
  }

  /* ===== main ===== */

  /* 금색 바탕·프레임 여백 없이 전면 다크 */

  .main {
    height: auto;
    padding-top: 16vw;
    padding-bottom: 0;
    background-image: none;
    background-color: #050505;
  }

  /* 다크 프레임 — 섹션 하단에서 13vw 위까지만 깔고, 그 아래로 접시가 내려와 금색 바탕에 얹힌다 */

  /* 배경 영상 — 프레임 전체를 채운다(PC 의 15% 농도는 모바일 화면에서 안 보여서 올림) */

  .main_video {
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.3;
  }

  .main_video video {
    height: 100%;
    object-fit: cover;
  }

  .main_shade {
    top: 0;
    width: 100%;
    aspect-ratio: 969 / 524;
  }

  .main_txt {
    order: 1;
  }

  .main_seal {
    width: 5vw;
  }

  .main_title {
    margin-top: 6vw;
    margin-right: 0;
    font-size: 10vw;
    letter-spacing: -0.3vw;
    line-height: 1.25;
    text-align: center;
    -webkit-text-stroke: 0.15vw currentColor;
  }

  .main_desc {
    margin-top: 4vw;
    font-size: 3.6vw;
    letter-spacing: -0.04vw;
    line-height: 1.5;
  }

  /* ===== con01 ===== */

  /* 상단 패턴 띠 — 모바일에서 너무 가늘어서 키운다(2000px 주기 그대로 비율 확대) */

  .con01_flow .image_sd {
    width: 700vw;
  }

  .con01_roof {
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
  }

  /* 손·소스 컷은 모바일에서 제거(PC 전용) */

  .con01_hand {
    display: none;
  }

  .con01_txt {
    width: 100%;
    box-sizing: border-box;
    padding: 0 6vw;
  }

  .con01_logo {
    margin-left: 2.3vw;
    width: 40vw;
  }

  .con01_title {
    margin-top: 13vw;
    font-size: 7.5vw;
    line-height: 2.6vw;
    -webkit-text-stroke: 0.1vw currentColor;
  }

  .con01_title_row {
    width: 80vw;
    height: 4.8vw;
    background-size: 11.43vw 100%;
    background-position: 0.5vw 0;
  }

  .con01_title_cell {
    width: 11.43vw;
  }

  .con01_title_point {
    margin-top: 3vw;
    line-height: 8.6vw;
  }

  .con01_desc {
    margin-top: 8vw;
    font-size: 3.6vw;
    line-height: 1.5;
    text-wrap: balance;
  }

  .con01_desc_point {
    margin-top: 5vw;
  }

  /* main↔con01 경계 끊김 없는 블렌드(에이전트 경쟁 A안 채택) */

  /* A안 끊김 없는 블렌드 — main 하단 영상은 바탕색(#050505)으로 녹여 내리고, con01 상단은 같은 톤에서 사진으로 번져 나온다 */

  .main_frame {
    width: 100%;
    height: auto;
    bottom: 0;
    border-radius: 0;
    -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 22vw), transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 22vw), transparent 100%);
  }

  /* 접시를 con01 쪽으로 더 깊이 걸쳐 경계 위에 놓는다 */

  .main_rib {
    order: 2;
    position: relative;
    top: auto;
    left: auto;
    width: 90%;
    margin-top: 5vw;
    margin-bottom: -12vw;
  }

  /* 상단 #050505 에서 사진으로 페이드 — 사진 맨 위 패턴 띠는 이 단색 구간에 덮여 안 보임 */

  .con01 {
    height: auto;
    padding-bottom: 36vw;
    padding-top: 30vw;
    background-image: linear-gradient(to bottom, #050505 0, #050505 12vw, rgba(5, 5, 5, 0.7) 26vw, rgba(5, 5, 5, 0) 46vw), url("/images/con01_04.jpg");
  }

  /* 패턴 띠 정리 */

  .con01_flow {
    display: none;
  }

  /* ===== con02 ===== */

  .con02 {
    flex-direction: column;
    align-items: center;
    overflow: hidden;
  }

  .con02_side {
    width: 100%;
  }

  /* 왼쪽 고정 패널 → 섹션 머리말. sticky·고정높이 해제, 접시는 흐름으로 내려 아래 카드에 걸친다(overflow 해제) */

  .con02_panel {
    position: relative;
    height: auto;
    padding-top: 9vw;
    padding-bottom: 0;
    overflow: visible;
  }

  /* 세로쓰기 라벨 → 가로 라벨. 흐름으로 가운데 */

  .con02_vert {
    position: relative;
    top: auto;
    left: auto;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 36vw;
    height: 9vw;
    margin-bottom: 6vw;
    padding-right: 0;
    border-left: 0;
    border-right: 0;
    border-top: 1px solid rgba(29, 26, 25, 0.2);
    border-bottom: 1px solid rgba(29, 26, 25, 0.2);
    font-size: 3.6vw;
    line-height: 9vw;
  }

  .con02_vert span {
    width: 12vw;
    text-align: center;
  }

  .con02_vert span:first-child {
    margin-top: 0;
  }

  .con02_vert::before,
  .con02_vert::after {
    top: 2vw;
    width: 1px;
    height: 5vw;
  }

  .con02_vert::before {
    left: 12vw;
  }

  .con02_vert::after {
    left: 24vw;
  }

  .con02_bowl {
    order: 2;
    position: relative;
    z-index: 2;
    top: auto;
    left: auto;
    width: 72%;
    margin-top: 7vw;
    margin-bottom: -16vw;
  }

  .con02_txt {
    order: 1;
    margin-left: 0;
    padding: 0 4vw;
  }

  .con02_title {
    font-size: 7.5vw;
    letter-spacing: -0.2vw;
    line-height: 1.3;
    text-align: center;
  }

  .con02_desc {
    margin-top: 3vw;
    font-size: 3.5vw;
    line-height: 1.5;
  }

  /* con02 리스트 가로 스와이프 스트립(에이전트 경쟁 A안 채택) */

  /* con02 카드 리스트 A안 — 가로 스와이프 스트립(scroll-snap). 카드 78vw + 좌우 11vw 패딩 → 가운데 스냅 시 양옆 카드가 살짝 보인다 */

  .con02_list {
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    box-sizing: border-box;
    width: 100%;
    padding: 0 0 4vw;
    row-gap: 0;
    transition-property: transform;
    background-image: none;
  }

  /* 스와이퍼 컨테이너(slide.js — wrapperClass=.con02_list, slideClass=.con02_card). PC 는 display:contents 라 영향 없음 */

  .con02_sw {
    display: block;
    position: relative;
    z-index: 3;
    width: 78vw;
    overflow: visible;
  }

  /* 좌우 화살표 + 점 내비 */

  .con02_nav {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 4vw;
    padding: 0 0 10vw;
  }

  .con02_arrow {
    position: relative;
    width: 10vw;
    aspect-ratio: 1 / 1;
    border: 0;
    border-radius: 50%;
    background-color: #3a2f23;
  }

  .con02_arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2.4vw;
    height: 2.4vw;
    border-top: 0.5vw solid #fff;
    border-left: 0.5vw solid #fff;
  }

  .con02_prev::before {
    transform: translate(-30%, -50%) rotate(-45deg);
  }

  .con02_next::before {
    transform: translate(-70%, -50%) rotate(135deg);
  }

  .con02_nav .con02_dots {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 2vw;
    width: auto;
    min-width: 24vw;
  }

  .con02_dots .swiper-pagination-bullet {
    width: 1.8vw;
    height: 1.8vw;
    margin: 0;
    opacity: 1;
    background-color: rgba(58, 47, 35, 0.25);
  }

  .con02_dots .swiper-pagination-bullet-active {
    width: 5vw;
    border-radius: 50vw;
    background-color: #3a2f23;
  }

  /* 카드: 이미지 위 / 텍스트 아래(column-reverse 유지). 그릇보다 위(z-index 3) 유지 */

  .con02_card {
    position: relative;
    z-index: 3;
    flex-direction: column-reverse;
    justify-content: flex-end;
    align-items: center;
    flex-shrink: 0;
    box-sizing: border-box;
    height: auto;
    padding: 3vw 3vw 6.5vw;
    border-radius: 4vw;
    box-shadow: 0 2vw 5vw rgba(94, 72, 28, 0.16);
  }

  .con02_card_img {
    width: 100%;
    border-radius: 3vw;
  }

  /* 텍스트 묶음: 번호 배지가 이미지 아래 모서리에 걸쳐 앉는다(영상 카드 .rltv 이미지보다 위로 z-index 1) */

  .con02_card_txt {
    align-items: center;
    margin-top: 0;
    text-align: center;
  }

  .con02_card_no {
    position: relative;
    z-index: 1;
    width: 13vw;
    margin-top: -5.2vw;
    font-size: 3.4vw;
  }

  .con02_card_title {
    align-items: center;
    margin-top: 3vw;
    font-size: 5.4vw;
    letter-spacing: -0.2vw;
    line-height: 1.3;
  }

  .con02_card_desc {
    width: 100%;
    margin-top: 3vw;
    text-wrap: balance;
    font-size: 3.4vw;
    letter-spacing: -0.04vw;
    line-height: 1.5;
  }

  /* ===== con03 ===== */

  /* 호버로 한 칸씩 펼치던 3분할 패널 → 터치엔 호버가 없어 3칸 모두 펼친 채(ON) 세로로 쌓는다. OFF 레이어는 ON 과 문구가 같아 숨긴다 */

  .con03 {
    padding-top: 14vw;
  }

  .con03_head {
    margin-left: 0;
    padding: 0 6vw;
  }

  .con03_title {
    font-size: 7.5vw;
    letter-spacing: -0.1vw;
    line-height: 1.3;
    text-align: center;
  }

  .con03_title_point {
    letter-spacing: -0.25vw;
  }

  .con03_desc {
    margin-top: 3vw;
    font-size: 3.5vw;
    letter-spacing: -0.04vw;
    line-height: 1.5;
    text-align: center;
    text-wrap: balance;
  }

  /* 3칸을 맞붙은 띠가 아니라 간격을 둔 카드 3장으로 분리 */

  .con03_list {
    flex-direction: row;
    align-items: stretch;
    box-sizing: border-box;
    margin-top: 8vw;
    padding: 0 0 4vw;
    transition-property: transform;
  }

  /* 스와이퍼 컨테이너(slide.js — wrapperClass=.con03_list, slideClass=.con03_panel). PC 는 display:contents 라 영향 없음 */

  .con03_sw {
    display: block;
    position: relative;
    width: 78vw;
    overflow: visible;
  }

  .con03_nav {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 4vw;
    padding: 0 0 12vw;
  }

  .con03_navbtn {
    position: relative;
    width: 10vw;
    aspect-ratio: 1 / 1;
    border: 0;
    border-radius: 50%;
    background-color: #edcf80;
  }

  .con03_navbtn::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2.4vw;
    height: 2.4vw;
    border-top: 0.5vw solid #1a1a1a;
    border-left: 0.5vw solid #1a1a1a;
  }

  .con03_prev::before {
    transform: translate(-30%, -50%) rotate(-45deg);
  }

  .con03_next::before {
    transform: translate(-70%, -50%) rotate(135deg);
  }

  .con03_nav .con03_dots {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 2vw;
    width: auto;
    min-width: 24vw;
  }

  .con03_dots .swiper-pagination-bullet {
    width: 1.8vw;
    height: 1.8vw;
    margin: 0;
    opacity: 1;
    background-color: rgba(201, 162, 74, 0.45);
  }

  .con03_dots .swiper-pagination-bullet-active {
    width: 5vw;
    border-radius: 50vw;
    background-color: #edcf80;
  }

  .con03_panel {
    --con03-on: 1;
    flex-shrink: 0;
    height: auto;
    border: 1px solid rgba(237, 207, 128, 0.35);
    border-radius: 5vw;
  }

  .con03_panel_03 {
    border-bottom: 1px solid rgba(237, 207, 128, 0.35);
  }

  .con03_list:hover .con03_panel.on:not(:hover) {
    --con03-on: 1;
  }

  .con03_off {
    display: none;
  }

  .con03_on {
    flex: 1 0 auto;
    height: auto;
    padding-top: 9vw;
  }

  .con03_on_02 {
    padding-top: 9vw;
  }

  .con03_on_03 {
    padding-top: 9vw;
  }

  .con03_pill_row {
    height: 9vw;
    background-position: 0 4.5vw;
  }

  .con03_pill {
    width: 46vw;
    height: 9vw;
    margin-left: 0;
    font-size: 3.8vw;
    letter-spacing: -0.1vw;
    line-height: 1.3;
  }

  .con03_on_txt {
    margin: 6vw 0 0;
    padding: 0 6vw;
  }

  .con03_on_txt_02 {
    margin: 6vw 0 0;
  }

  .con03_on_txt_03 {
    margin: 6vw 0 0;
  }

  .con03_on_title {
    font-size: 6.4vw;
    letter-spacing: -0.2vw;
    line-height: 1.3;
  }

  .con03_on_title_dual {
    letter-spacing: -0.2vw;
  }

  .con03_on_desc {
    margin-top: 3vw;
    font-size: 3.5vw;
    letter-spacing: -0.04vw;
    line-height: 1.5;
    word-break: keep-all;
    text-wrap: balance;
  }

  .con03_on_desc br {
    display: none;
  }

  .con03_foods_01 {
    margin: 5vw 0 -11vw;
  }

  .con03_foods_02 {
    margin: 4vw 0 -8vw;
  }

  .con03_foods_03 {
    margin: 4vw 0 -8vw;
  }

  .con03_food_01 {
    width: 90vw;
  }

  .con03_food_02a {
    width: 62.7vw;
  }

  .con03_food_02b {
    width: 65.2vw;
    margin-top: 2.6vw;
    margin-left: -30.4vw;
  }

  .con03_food_03a {
    width: 56.5vw;
  }

  .con03_food_03b {
    width: 58vw;
    margin-top: 2.2vw;
    margin-left: -17.9vw;
  }

  /* ===== con04 ===== */

  /* 신호등 순환(.on 이동)은 animation.js 가 모바일에서도 돌린다(.on 상태 스타일만 여기서 정의) */

  .con04 {
    position: relative;
    padding-top: 14vw;
    padding-bottom: 14vw;
  }

  /* con05 바탕색(#f9f7ea)으로 서서히 이어지는 하단 페이드 — 사진 질감이 뚝 끊겨 보이지 않게 */

  .con04::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 22vw;
    background: linear-gradient(to bottom, rgba(249, 247, 234, 0), #f9f7ea);
  }

  .con04_seal {
    width: 5vw;
  }

  .con04_eyebrow {
    margin-top: 4vw;
    margin-right: 0;
    font-size: 4.6vw;
    letter-spacing: -0.1vw;
    line-height: 1.3;
  }

  .con04_title {
    margin-top: 2vw;
    margin-left: 0;
    font-size: 7.5vw;
    letter-spacing: -0.1vw;
    line-height: 1.3;
  }

  .con04_desc {
    margin-top: 3vw;
    margin-left: 0;
    padding: 0 6vw;
    font-size: 3.5vw;
    letter-spacing: -0.04vw;
    line-height: 1.5;
    text-align: center;
    text-wrap: balance;
  }

  /* con04 리스트 하루 타임라인(에이전트 경쟁 B안 채택) */

  /* 세로 트랙(회색) — 카드 위·아래 끝까지. 노드가 카드 세로 중앙이라 이웃 카드와 끊김 없이 이어진다 */

  .con04_card::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -1px;
    bottom: -1px;
    left: 8.2vw;
    width: 0.8vw;
    background-color: #cfc6ad;
  }

  /* 채움(금색) — 활성 항목의 선분만 위에서 아래로 차오른다 */

  .con04_card::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: -1px;
    bottom: -1px;
    left: 8.2vw;
    width: 0.8vw;
    background-color: #e3b84f;
    transform: scaleY(var(--con04-on));
    transform-origin: top;
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  }

  /* 첫 노드 위·마지막 노드 아래로는 선이 새지 않게 */

  .con04_card_01::before,
  .con04_card_01::after {
    top: 50%;
  }

  .con04_card_04::before,
  .con04_card_04::after {
    bottom: 50%;
  }

  .con04_icon_img_01 {
    width: 7.2vw;
  }

  .con04_icon_img_02 {
    width: 7.2vw;
  }

  .con04_icon_img_03 {
    width: 5.7vw;
  }

  .con04_icon_img_04 {
    width: 7.8vw;
  }

  /* con04 리스트 미니멀 흰 카드(에이전트 경쟁 B안 채택) */

  /* con04 리스트 B안 — 단정한 흰 카드 4장. 활성(.on)은 테두리 색 하나만 바뀐다 */

  /* 타임라인 외곽 박스 해제: 테두리·배경·패딩·라운드 제거 */

  .con04_list {
    position: relative;
    z-index: 1;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    gap: 3vw;
    width: 90vw;
    margin-top: 7vw;
    padding: 0;
    border: 0;
    border-radius: 0;
    background-color: transparent;
  }

  /* 카드: 흰 배경·옅은 금 테두리 1px, 그림자 없음. 테두리 두께는 .on 과 동일 */

  .con04_card {
    position: relative;
    isolation: isolate;
    display: grid;
    align-items: center;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    text-align: left;
    column-gap: 4vw;
    grid-template-columns: 12vw 1fr;
    grid-template-rows: auto auto auto;
    align-content: center;
    padding: 3.6vw 4.5vw;
    border: 1px solid #e0cc92;
    border-radius: 4vw;
    color: #3a2f23;
    background-color: #fff;
    box-shadow: none;
    transform: none;
  }

  /* 세로 트랙·채움선 제거 (타임라인 잔재) */

  .con04_card::before,
  .con04_card::after {
    content: none;
  }

  /* 활성: 테두리 색만 변경. 배경·글자색·그림자·이동은 비활성과 동일하게 고정 */

  .con04_card.on {
    border-color: #3a2f23;
    color: #3a2f23;
    background-color: #fff;
    box-shadow: none;
    transform: none;
  }

  /* 아이콘: 옅은 크림 원 하나. 글로우·번짐·들림 중립화 */

  .con04_icon {
    /* PC 의 9px 번짐은 모바일 --px 스케일로 2px 도 안 돼서 안 보인다 → vw 로 키우고 바깥 글로우를 더한다 */
    box-shadow: 0 0 0 2.4vw rgba(236, 204, 121, calc(0.4 * var(--con04-on))), 0 0 6vw rgba(236, 204, 121, calc(0.55 * var(--con04-on)));
    box-sizing: border-box;
    grid-row: 1 / span 3;
    grid-column: 1;
    align-self: center;
    width: 12vw;
    height: 12vw;
    border: 0;
    background-color: #f6f1e0;
    box-shadow: none;
    transform: none;
  }

  .con04_card_title {
    grid-row: 1;
    grid-column: 2;
    align-self: start;
    margin-top: 0;
    margin-left: 0;
    font-size: 5vw;
    letter-spacing: -0.1vw;
    line-height: 1.3;
    transform: none;
  }

  .con04_card_sub {
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.15s, color 0.6s ease;
    grid-row: 2;
    grid-column: 2;
    align-self: start;
    margin-top: 0.6vw;
    margin-left: 0;
    font-size: 3.5vw;
    font-weight: 500;
    letter-spacing: -0.05vw;
    line-height: 1.4;
    color: #3a2f23;
    transform: none;
  }

  .con04_card_desc {
    grid-row: 3;
    grid-column: 2;
    align-self: start;
    margin-top: 1.4vw;
    margin-left: 0;
    font-size: 3.4vw;
    font-weight: 400;
    letter-spacing: -0.04vw;
    line-height: 1.5;
    color: #8c8172;
    opacity: 1;
    transform: none;
  }

  /* ===== con05 ===== */

  /* 좌·우 번갈아 놓던 2열 카드 → 아이콘이 항상 왼쪽인 1열. 카드를 덮던 큰 접시는 목록 아래로 내려 하단을 잘라낸다 */

  .con05 {
    padding-top: 0vw;
    background-image: none;
  }

  .con05_panel {
    width: 100%;
    padding-top: 10vw;
    padding-bottom: 12vw;
    border-radius: 0;
  }

  .con05_dish_top {
    width: 30vw;
    margin-right: 2vw;
  }

  .con05_eyebrow {
    margin-top: 4vw;
    margin-right: 0;
    font-size: 4.6vw;
    letter-spacing: -0.1vw;
    line-height: 1.3;
  }

  .con05_title {
    margin-top: 2vw;
    margin-left: 0;
    font-size: 7.5vw;
    letter-spacing: -0.3vw;
    line-height: 1.3;
  }

  .con05_desc {
    margin-top: 3vw;
    margin-left: 0;
    padding: 0 5vw;
    font-size: 3.5vw;
    letter-spacing: -0.04vw;
    line-height: 1.5;
    white-space: normal;
    text-wrap: balance;
  }

  /* 4장 카드 — 2×2 격자, 카드마다 아이콘 원(위) → 제목 → 부제 → 설명을 가운데 정렬로 쌓는다. 강조(.on) 카드는 빨강 테두리·아이콘 */

  .con05_list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 3vw;
    box-sizing: border-box;
    width: 100%;
    margin-top: 8vw;
    padding: 0 3vw;
  }

  .con05_card {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    height: auto;
    padding: 7vw 3vw 7vw;
    border: 1px solid rgba(237, 207, 128, 0.28);
    border-radius: 4vw;
    background-color: #2a2623;
    text-align: center;
  }

  /* 어두운 패널 위 카드 — 기본은 한 톤 밝은 다크, 강조(.on)는 금색 면에 어두운 원·흰 아이콘 */

  .con05_card.on {
    --c05-accent: #1d1a19;
    --c05-icon: brightness(0) invert(1);
    border-color: #edcf80;
    background-color: #edcf80;
  }

  .con05_card_r {
    flex-direction: column;
    justify-content: flex-start;
    padding: 7vw 3vw 7vw;
  }

  .con05_icon {
    order: 0;
    flex-shrink: 0;
    width: 17vw;
    height: 17vw;
  }

  .con05_icon_img_01 {
    width: 8.3vw;
  }

  .con05_icon_img_02 {
    width: 8.6vw;
  }

  .con05_icon_img_03 {
    width: 8vw;
  }

  .con05_icon_img_04 {
    width: 9.3vw;
  }

  .con05_body {
    order: 1;
    align-items: center;
    margin-top: 4vw;
    margin-left: 0;
    text-align: center;
  }

  .con05_body_r {
    align-items: center;
    margin-left: 0;
    margin-right: 0;
    text-align: center;
  }

  /* 라벨 박스(금·빨강 바탕)는 모바일에서 걷고 글자만 쓴다 — 강조 카드(.on)만 빨강 글자 */

  .con05_card_title {
    padding: 0;
    background: none;
    font-size: 4vw;
    letter-spacing: -0.15vw;
    line-height: 1.35;
    text-wrap: balance;
    color: #f3ead2;
    white-space: normal;
  }

  .con05_card.on .con05_card_title {
    color: #1d1a19;
  }

  .con05_card_title_s {
    display: block;
    margin-top: 0.8vw;
    font-size: 3vw;
    font-weight: 500;
    letter-spacing: -0.05vw;
    line-height: 1.3;
    color: #edcf80;
  }

  .con05_card.on .con05_card_title_s {
    color: #6b5a3a;
  }

  .con05_card_title_b {
    margin-top: 0;
  }

  .con05_card_desc {
    margin-top: 2.5vw;
    padding: 0;
    font-size: 3.4vw;
    letter-spacing: -0.04vw;
    line-height: 1.5;
    text-wrap: balance;
    color: rgba(255, 255, 255, 0.72);
    white-space: normal;
  }

  .con05_card.on .con05_card_desc {
    color: #3a3226;
  }

  .con05_card_desc_b {
    margin-top: 2.5vw;
  }

  /* 접시 컷은 모바일에서 뺀다 — 카드 격자 바로 아래에서 띠로 이어진다 */

  .con05_dish {
    display: none;
  }

  /* 띠 문구 — 흰 헤드라인 / 짧은 금색 구분선 / 금색 본문 3줄로 정리 */

  .con05_band {
    box-sizing: border-box;
    padding: 12vw 5vw 12vw;
    background-size: 4vw 100%;
    background-position: 0.4vw 0;
  }

  .con05_band_txt {
    font-size: 4.8vw;
    letter-spacing: -0.1vw;
    line-height: 1.45;
    white-space: normal;
    text-align: center;
  }

  .con05_band_line {
    display: block;
  }

  .con05_band_point {
    display: block;
    margin-top: 5vw;
    font-size: 3.8vw;
    letter-spacing: -0.05vw;
    line-height: 1.6;
  }

  .con05_band_point::before {
    content: "";
    display: block;
    width: 10vw;
    height: 1px;
    margin: 0 auto 5vw;
    background-color: #edcf80;
  }

  /* ===== con06 ===== */

  /* 구성: 흰 머리말 카드 → 단계 아이콘 띠 → 금색 바탕 위 흰 카드 4장(사진 위, 글 아래) */

  .con06_top {
    box-sizing: border-box;
    width: 92%;
    margin-top: 5vw;
    margin-right: 0;
    padding-top: 12vw;
    padding-bottom: 9vw;
    border-radius: 5vw;
  }

  .con06_eyebrow {
    margin-right: 0;
    font-size: 4.6vw;
    letter-spacing: -0.1vw;
    line-height: 1.3;
  }

  .con06_title {
    margin-top: 2vw;
    margin-left: 0;
    font-size: 7.5vw;
    letter-spacing: -0.3vw;
    line-height: 1.3;
  }

  .con06_desc {
    margin-top: 3vw;
    margin-left: 0;
    padding: 0 5vw;
    font-size: 3.5vw;
    letter-spacing: -0.04vw;
    line-height: 1.5;
    white-space: normal;
    text-wrap: balance;
  }

  /* 단계 띠 — 4개 아이콘 박스를 한 줄에 유지하고 화살표 간격만 줄인다 */

  .con06_band {
    padding: 7vw 0;
    background-image: none;
  }

  .con06_flow {
    margin-right: 0;
  }

  .con06_step_img_01 {
    width: 6.1vw;
  }

  .con06_step_img_02 {
    width: 6vw;
  }

  .con06_step_img_03 {
    width: 7.3vw;
  }

  .con06_step_img_04 {
    width: 6.6vw;
  }

  .con06_arrow_01 {
    margin-left: 4.2vw;
    margin-right: 4.2vw;
  }

  .con06_arrow_02 {
    margin-left: 4.2vw;
    margin-right: 4.2vw;
  }

  .con06_arrow_03 {
    margin-left: 4.2vw;
    margin-right: 4.2vw;
  }

  .con06_bottom {
    box-sizing: border-box;
    width: 100%;
    margin-right: 0;
    padding: 0 0 14vw;
    border-radius: 0;
    background-color: transparent;
  }

  /* 스와이퍼 컨테이너(slide.js — wrapperClass=.con06_list, slideClass=.con06_item). PC 는 display:contents 라 영향 없음 */

  .con06_sw {
    display: block;
    position: relative;
    width: 78vw;
    overflow: visible;
  }

  .con06_list {
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
    margin-left: 0;
    padding-bottom: 3vw;
    transition-property: transform;
  }

  /* 단계 아이콘이 페이지네이션 — 눌러서 해당 카드로 */

  .con06_step {
    width: 14vw;
    height: 14vw;
    margin: 0;
    border-radius: 3vw;
    cursor: pointer;
  }

  .con06_nav {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 4vw;
    padding: 2vw 0 0;
  }

  .con06_arrow {
    width: 2.8vw;
    height: 2.8vw;
    margin-bottom: 0.5vw;
  }

  /* 카드 이전/다음 버튼 */

  .con06_navbtn {
    position: relative;
    width: 10vw;
    aspect-ratio: 1 / 1;
    border: 0;
    border-radius: 50%;
    background-color: #3a2f23;
  }

  .con06_navbtn::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2.4vw;
    height: 2.4vw;
    border-top: 0.5vw solid #fff;
    border-left: 0.5vw solid #fff;
  }

  .con06_prev::before {
    transform: translate(-30%, -50%) rotate(-45deg);
  }

  .con06_next::before {
    transform: translate(-70%, -50%) rotate(135deg);
  }

  .con06_item {
    box-sizing: border-box;
    flex-shrink: 0;
    padding: 3vw 3vw 7vw;
    border-radius: 5vw;
    background-color: #fff;
  }

  .con06_photo {
    width: 100%;
    border-radius: 3vw;
  }

  .con06_item_title {
    margin-top: 5vw;
    font-size: 5.4vw;
    letter-spacing: -0.15vw;
    line-height: 1.3;
  }

  .con06_item_sub {
    margin-top: 1.5vw;
    font-size: 3.6vw;
    letter-spacing: -0.05vw;
    line-height: 1.4;
    text-decoration-thickness: 0.35vw;
    text-underline-offset: 0.8vw;
    white-space: normal;
  }

  .con06_item_desc {
    margin-top: 3.5vw;
    padding: 0 3vw;
    font-size: 3.5vw;
    letter-spacing: -0.04vw;
    line-height: 1.55;
    text-align: center;
    white-space: normal;
    text-wrap: balance;
  }

  /* ===== con07 ===== */

  /* 스크롤 패럴랙스(fixed 배경)는 모바일에서 주소창 높이 변화에 흔들리고 이미지가 창보다 작아 바닥색이 드러난다 → 섹션 안에 고정(absolute)하고 세로 글만 남긴다 */

  .con07 {
    position: relative;
    height: auto;
    padding: 14vw 0;
  }

  .con07_fix {
    position: absolute;
    height: 100%;
    background-size: 170% auto;
    background-position: 50% 50%;
    filter: brightness(0.6);
  }

  /* 세로쓰기 → 가로쓰기: 브랜드 라벨(양옆 선) 위, 타이틀 아래 가운데 */

  .con07_wrap {
    flex-direction: column;
    align-items: center;
  }

  .con07_brand {
    align-items: center;
    column-gap: 3vw;
  }

  .con07_line {
    width: 12vw;
    height: 1px;
  }

  .con07_brand_txt {
    margin-top: 0;
    margin-right: 0;
    font-size: 4.6vw;
    letter-spacing: 1vw;
    line-height: 1.2;
    writing-mode: horizontal-tb;
  }

  .con07_title {
    margin-top: 5vw;
    margin-left: 0;
    font-size: 8vw;
    letter-spacing: 0.3vw;
    line-height: 1.35;
    text-align: center;
    writing-mode: horizontal-tb;
  }

  /* ===== con08 ===== */

  /* 배경 jpg 의 손·소스 장식(우측)은 con01 에서 이미 쓴 모티프라 모바일은 종이 질감 쪽만 쓰고, 뒤에 깔린 흐릿한 카드 3장은 두루마리에 가려져 뺀다 */

  .con08 {
    padding-top: 14vw;
    padding-bottom: 10vw;
    background-position: left center;
  }

  .con08_eyebrow {
    font-size: 4.6vw;
    letter-spacing: -0.1vw;
    line-height: 1.3;
  }

  .con08_title {
    margin-top: 2vw;
    margin-left: 0;
    font-size: 7.5vw;
    letter-spacing: -0.4vw;
    line-height: 1.3;
  }

  .con08_desc {
    margin-top: 3vw;
    margin-left: 0;
    padding: 0 3vw;
    font-size: 3.4vw;
    letter-spacing: -0.04vw;
    line-height: 1.5;
    white-space: normal;
    text-wrap: balance;
  }

  .con08_stage {
    margin-top: 7vw;
    background-image: none;
  }

  /* 비밀비법을 펼쳐 보이는 세로 족자 — 모바일 전용 이미지(720x688, 글자 없음): 위·아래 가로 롤러 사이로 종이를 펼친다. 문구는 HTML */

  .con08_scroll {
    justify-content: center;
    width: 94vw;
    aspect-ratio: 720 / 688;
    height: auto;
    padding: 0;
    background-image: url("/images/con08_08.png");
    background-size: 100% 100%;
  }

  /* PC 펼침 모션(.unroll)은 가로 롤러 2개가 양옆으로 갈라지는 방식이라 족자에 못 쓴다 → 위에서 아래로 내려오며 드러나게 대체, 롤러용 가상요소는 끈다 */

  .con08_scroll.unroll {
    clip-path: inset(0 0 calc(100% * (1 - var(--c08-open, 1))) 0);
  }

  .con08_scroll.unroll::before,
  .con08_scroll.unroll::after {
    content: none;
  }

  .con08_secret {
    column-gap: 1.8vw;
    margin-left: 0;
  }

  .con08_stamp {
    width: 9vw;
    font-size: 5.2vw;
    line-height: 1;
  }

  .con08_label {
    margin-top: 4vw;
    margin-left: 0;
    font-size: 4.4vw;
    letter-spacing: -0.1vw;
    line-height: 1.3;
  }

  .con08_call {
    min-height: 12.2vw;
    margin-top: 2vw;
  }

  .con08_call_icon {
    width: 6.5vw;
  }

  .con08_call_num {
    margin-left: 1vw;
    font-size: 8.4vw;
    letter-spacing: -0.1vw;
    line-height: 1.2;
  }

  .con08_note {
    margin-top: 3vw;
    margin-right: 0;
    padding: 0 6vw;
    font-size: 3.4vw;
    letter-spacing: -0.04vw;
    line-height: 1.5;
    white-space: normal;
    word-break: keep-all;
  }

  /* ===== con09 ===== */

  /* 가로 3칸 통계 → 세로 3줄, 좌·우 롤링 레인(감자탕 양옆) → 세로로 쌓은 2줄 롤링, 감자탕은 레인 아래로 내려 다음 섹션으로 걸친다 */

  .con09 {
    padding-bottom: 0;
    /* 통계 우측 카드 입장 모션(xPercent +18) 시작 위치가 뷰포트 밖 → 가로 스크롤 유발. 세로 돌출(감자탕)은 유지하려 clip */
    overflow-x: clip;
  }

  .con09_band {
    padding-top: 1.6vw;
    padding-bottom: 1.6vw;
  }

  .con09_head {
    padding-top: 14vw;
  }

  .con09_eyebrow {
    margin-right: 0;
    font-size: 4.6vw;
    letter-spacing: -0.1vw;
    line-height: 1.3;
  }

  .con09_title {
    margin-top: 2vw;
    font-size: 7.5vw;
    letter-spacing: -0.4vw;
    line-height: 1.3;
  }

  .con09_title_point {
    margin-left: 0;
  }

  .con09_desc {
    margin-top: 3vw;
    margin-left: 0;
    padding: 0 6vw;
    font-size: 3.5vw;
    letter-spacing: -0.04vw;
    line-height: 1.5;
    white-space: normal;
    text-wrap: balance;
  }

  /* 통계 — 강조(노랑) 카드가 맨 위 한 줄 전체, 흰 카드 둘은 그 아래 나란히. 테두리 없이 그림자로만 띄운다 */

  .con09_stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3vw;
    box-sizing: border-box;
    margin-top: 8vw;
    padding: 0 4vw;
    border: 0;
    background-color: transparent;
  }

  .con09_stat {
    justify-content: center;
    width: 100%;
    padding-top: 6vw;
    padding-bottom: 6vw;
    border: 0;
    border-radius: 5vw;
    background-color: #fff;
    box-shadow: 0 1.5vw 5vw rgba(74, 62, 43, 0.12);
  }

  .con09_stat:first-child {
    padding-right: 0;
  }

  .con09_stat:last-child {
    width: 100%;
    padding-left: 0;
  }

  /* 강조 카드 — 라벨은 어두운 알약, 숫자는 크게 */

  .con09_stat_on {
    grid-column: 1 / -1;
    order: -1;
    width: 100%;
    padding-top: 9vw;
    padding-bottom: 9vw;
    border: 0;
    background-color: var(--color-point);
    box-shadow: 0 2vw 6vw rgba(74, 62, 43, 0.22);
  }

  .con09_stat_label {
    font-size: 3.5vw;
    font-weight: 500;
    letter-spacing: -0.05vw;
    line-height: 1.3;
    color: #7a6d58;
  }

  .con09_stat_on .con09_stat_label {
    padding: 1.8vw 4.4vw;
    border-radius: 50vw;
    font-size: 3.6vw;
    font-weight: 600;
    color: #edcf80;
    background-color: #1d1a19;
  }

  .con09_stat_num {
    margin-top: 2vw;
    font-size: 7.6vw;
    letter-spacing: -0.1vw;
    line-height: 1.15;
  }

  .con09_stat_on .con09_stat_num {
    margin-top: 4vw;
    font-size: 13vw;
    letter-spacing: -0.15vw;
  }

  .con09_stat_unit {
    font-size: 4.6vw;
    letter-spacing: -0.1vw;
  }

  .con09_stat_on .con09_stat_unit {
    font-size: 7.4vw;
  }

  .con09_stat_plus {
    margin-right: -1vw;
    font-size: 8vw;
    letter-spacing: -0.1vw;
  }

  .con09_stat_on .con09_stat_plus {
    margin-right: -1.6vw;
    font-size: 13vw;
  }

  /* 월 매출 카드 — 레인 하나만, 카드를 가운데 두고 양옆이 살짝 보이게(1.2장). slide.js breakpoints 와 짝 */

  .con09_roll {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    margin-top: 8vw;
  }

  .con09_lane {
    width: 100%;
  }

  .con09_lane_r {
    display: none;
  }

  .con09_slide {
    margin-right: 2vw;
    margin-left: 2vw;
  }

  /* 월 매출 카드 — 검정 헤더·검정 테두리를 걷고, 금색 알약 제목 + 라벨/숫자 두 줄(합계는 빨강)로 정리 */

  .con09_card {
    box-sizing: border-box;
    width: 80vw;
    height: auto;
    padding: 5.5vw 6vw 3vw;
    border: 0;
    border-radius: 5vw;
    box-shadow: 0 1.5vw 5vw rgba(74, 62, 43, 0.14);
  }

  .con09_card_tit {
    align-self: flex-start;
    padding: 1.4vw 3.8vw;
    border-radius: 50vw;
    font-size: 3.6vw;
    letter-spacing: -0.1vw;
    line-height: 1.3;
    color: #1d1a19;
    text-align: center;
    background-color: #edcf80;
  }

  .con09_card_row {
    justify-content: space-between;
    padding-left: 0;
  }

  .con09_card_row_avg {
    height: 15vw;
  }

  .con09_card_row_sum {
    height: 15vw;
    padding-bottom: 0;
    border-top: 1px dashed #d8cfb4;
  }

  .con09_card_label {
    width: auto;
    font-size: 3.5vw;
    font-weight: 500;
    letter-spacing: -0.05vw;
    line-height: 1.3;
    color: #7a6d58;
  }

  .con09_card_bar {
    display: none;
  }

  .con09_card_num {
    flex-grow: 0;
    padding-right: 0;
    font-size: 7vw;
    letter-spacing: -0.09vw;
    line-height: 1.2;
  }

  .con09_card_row_sum .con09_card_num {
    color: #cc3528;
  }

  .con09_card_unit {
    font-size: 4.2vw;
    letter-spacing: -0.05vw;
  }

  .con09_food {
    position: relative;
    top: auto;
    width: 92%;
    margin-top: 6vw;
    margin-bottom: -20vw;
  }

  /* ===== con10 ===== */

  /* 좌 도넛 · 우 표 한 줄 → 도넛 위 · 표 아래. 상단 padding 은 con09 감자탕이 걸쳐 내려오는 높이(20vw)를 포함한다 */

  .con10 {
    padding-top: 30vw;
    padding-bottom: 14vw;
  }

  .con10_eyebrow {
    font-size: 4.6vw;
    letter-spacing: -0.1vw;
    line-height: 1.3;
  }

  .con10_title {
    margin-top: 2vw;
    margin-right: 0;
    font-size: 7.5vw;
    letter-spacing: -0.4vw;
    word-spacing: 0.4vw;
    line-height: 1.3;
  }

  .con10_desc {
    margin-top: 3vw;
    padding: 0 6vw;
    font-size: 3.5vw;
    letter-spacing: -0.04vw;
    line-height: 1.5;
    white-space: normal;
    text-wrap: balance;
  }

  .con10_card {
    flex-direction: column;
    align-items: center;
    width: 92%;
    margin-top: 8vw;
    padding: 8vw 4vw 8vw;
    border-radius: 6vw;
  }

  .con10_donut {
    width: 70vw;
  }

  .con10_pot {
    width: 43.5vw;
  }

  .con10_badge {
    left: 51vw;
    top: 21.8vw;
    width: 24.7vw;
    height: 24.7vw;
    padding-top: 0.6vw;
  }

  .con10_badge_lbl {
    font-size: 3.6vw;
    letter-spacing: -0.2vw;
    line-height: 1.2;
  }

  .con10_badge_num {
    font-size: 7.8vw;
    letter-spacing: -0.1vw;
    line-height: 1;
  }

  .con10_badge_pct {
    font-size: 4.8vw;
  }

  .con10_cost {
    align-items: stretch;
    width: 100%;
    margin-top: 7vw;
    margin-left: 0;
  }

  .con10_note {
    font-size: 3.3vw;
    letter-spacing: -0.04vw;
    line-height: 1.4;
    text-align: right;
    white-space: normal;
  }

  .con10_table {
    width: 100%;
    margin-top: 2vw;
  }

  /* 표 머리는 검정 줄 대신 연한 바탕 띠로 */

  .con10_th {
    height: 10vw;
    border-top: 0;
    border-bottom: 0;
    background-color: #f4efdc;
    font-size: 3.5vw;
    letter-spacing: -0.04vw;
    line-height: 1.4;
  }

  .con10_th:nth-child(1) {
    width: 40%;
    padding-left: 0;
    border-radius: 2vw 0 0 2vw;
  }

  .con10_th:nth-child(2) {
    width: 38%;
  }

  .con10_th:nth-child(3) {
    width: 22%;
    border-radius: 0 2vw 2vw 0;
  }

  .con10_td {
    height: 9.5vw;
    font-size: 3.5vw;
    letter-spacing: -0.04vw;
    line-height: 1.4;
    white-space: normal;
  }

  .con10_td:first-child {
    padding: 0 1.2vw;
    font-size: 3.3vw;
    letter-spacing: -0.15vw;
    white-space: nowrap;
  }

  .con10_tr_sum {
    height: 11vw;
  }

  .con10_sum_name {
    border-radius: 2vw 0 0 2vw;
    padding-left: 0;
    font-size: 4.2vw;
    letter-spacing: -0.3vw;
  }

  .con10_sum_amt {
    font-size: 4.2vw;
    letter-spacing: -0.1vw;
  }

  .con10_sum_rate {
    border-radius: 0 2vw 2vw 0;
    padding-top: 0.6vw;
    font-size: 4.2vw;
    letter-spacing: -0.1vw;
  }

  /* ===== con11 ===== */

  /* 센터 폰 하나만 보여 준다 — 양옆 장식 카드(aria-hidden)는 숨기고, 폰은 화면 중앙에 오도록 손 쪽을 살짝 잘라낸다(slide.js: 모바일은 센터 폰만) */

  .con11 {
    height: auto;
    padding-top: 21vw;
  }

  .con11_title {
    margin-right: 0;
    font-size: 7.5vw;
    letter-spacing: -0.3vw;
    word-spacing: 0.4vw;
    line-height: 1.3;
    -webkit-text-stroke: 0.1vw currentColor;
  }

  .con11_desc {
    margin-top: 3vw;
    padding: 0 5vw;
    font-size: 3.5vw;
    letter-spacing: -0.04vw;
    line-height: 1.5;
    white-space: normal;
    text-wrap: balance;
  }

  .con11_stage {
    justify-content: center;
    margin-top: 7vw;
  }

  .con11_cards {
    display: none;
  }

  .con11_phone {
    margin-top: -1.3vw;
    margin-left: -16vw;
  }

  .con11_frame {
    width: 100vw;
  }

  .con11_screen {
    top: 3vw;
    left: 29.4vw;
    width: 57.1vw;
    height: 121.9vw;
  }

  .con11_screen_sw {
    border-radius: 5.8vw;
    box-shadow: 0 -0.5vw 0 #111;
  }

  .con11_finger {
    top: 67.4vw;
    left: 83.4vw;
    width: 3.8vw;
  }

  .con11_arrow {
    width: 15vw;
  }

  .con11_prev {
    top: 34vw;
    left: 3vw;
  }

  .con11_next {
    top: 34vw;
    left: auto;
    right: 3vw;
  }

  /* ===== con12 ===== */

  /* 흐릿한 좌·우 레인(장식)은 숨기고 읽히는 센터 레인 하나만 세로 롤링으로 남긴다. 순서: 문구·평점 → 리뷰 롤링 → 불꽃 고기 */

  .con12 {
    align-items: center;
    height: auto;
    padding-top: 14vw;
  }

  .con12_left {
    order: 1;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    margin-left: 0;
    padding: 0 6vw;
  }

  .con12_title {
    align-items: center;
    text-align: center;
  }

  .con12_eyebrow {
    margin-bottom: 2vw;
    font-size: 4.6vw;
    letter-spacing: -0.1vw;
    line-height: 1.3;
  }

  .con12_title_line {
    font-size: 7.5vw;
    letter-spacing: -0.4vw;
    word-spacing: 0.4vw;
    line-height: 1.3;
  }

  .con12_desc {
    margin-top: 3vw;
    font-size: 3.5vw;
    letter-spacing: -0.04vw;
    line-height: 1.5;
    text-align: center;
    white-space: normal;
    text-wrap: balance;
  }

  .con12_bars {
    align-items: stretch;
    row-gap: 1.6vw;
    width: 100%;
    margin-top: 8vw;
  }

  .con12_bar {
    width: 100%;
    height: 9.5vw;
  }

  .con12_bar_fill {
    padding-left: 4vw;
    border-radius: 1vw 0 0 1vw;
  }

  .con12_bar_label {
    font-size: 3.5vw;
    letter-spacing: -0.05vw;
  }

  .con12_bar_num {
    padding-right: 4vw;
    border-radius: 0 1vw 1vw 0;
    font-size: 3.5vw;
    letter-spacing: -0.02vw;
  }

  .con12_lanes {
    order: 2;
    position: relative;
    height: auto;
    margin-top: 10vw;
    z-index: 10;
  }

  .con12_lane_wrap {
    display: none;
  }

  /* 리뷰 카드 — 가운데 레인 하나를 폭 100% 로 가로 흐름(slide.js breakpoints 와 짝) */

  .con12_lane {
    width: 100%;
    height: auto;
  }

  .con12_lane_c {
    margin-top: 0;
  }

  /* 공통 .flow 는 linear + 클릭 차단(연속 흐름용) — 모바일은 한 장씩 걸려 멈추고 잡아 끌 수 있어야 해서 푼다 */

  .con12_lane_c .swiper-wrapper.flow {
    pointer-events: auto;
    transition-timing-function: ease;
  }

  /* 슬라이드 폭이 레인 폭(100%)이라 카드 사이가 벌어져 보였다 — 카드 폭에 맞춰 간격은 slide.js spaceBetween(3vw)만 남긴다 */

  .con12_slide {
    width: auto;
  }

  .con12_card {
    width: 64vw;
    border-radius: 4vw;
  }

  .con12_fire {
    order: 3;
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    margin-top: -20vw;
  }

  .con12_smoke {
    display: none;
  }

  /* ===== con13 ===== */

  /* 슬라이드는 slide.js breakpoints(1.3장·가운데 정렬)로, 화살표는 카드 양옆 → 카드 아래 한 쌍으로 */

  .con13 {
    padding-top: 14vw;
    padding-bottom: 14vw;
  }

  .con13_seal {
    width: 5vw;
  }

  .con13_title {
    margin-top: 4vw;
    margin-left: 0;
  }

  .con13_title_sub {
    font-size: 5.4vw;
    letter-spacing: -0.3vw;
    line-height: 1.3;
  }

  .con13_title_main {
    margin-top: 1.5vw;
    font-size: 7.5vw;
    letter-spacing: -0.3vw;
    word-spacing: 0.4vw;
    line-height: 1.3;
  }

  .con13_desc {
    margin-top: 3vw;
    margin-left: 0;
    padding: 0 5vw;
    font-size: 3.5vw;
    letter-spacing: -0.04vw;
    line-height: 1.5;
    white-space: normal;
    text-wrap: balance;
  }

  /* 분류 탭 — 박스 없이 글자 탭 + 아래 선, 선택은 진한 글자와 금색 밑줄 */

  .con13_tabs {
    justify-content: flex-start;
    width: 92%;
    margin-top: 7vw;
    border: 0;
    border-bottom: 1px solid #d9cfb3;
    border-radius: 0;
    overflow: visible;
    background-color: transparent;
  }

  .con13_tab {
    border: 0;
    border-bottom: 0.9vw solid transparent;
    font-size: 3.8vw;
    letter-spacing: -0.1vw;
    line-height: 12.2vw;
    color: #9a8d78;
    background-color: transparent;
  }

  .con13_tab.on {
    border-bottom-color: #cc3528;
    color: #1d1a19;
    background-color: transparent;
  }

  .con13_stage {
    flex-wrap: wrap;
    column-gap: 4vw;
    margin-top: 6vw;
  }

  .con13_panels {
    order: 1;
    width: 100%;
  }

  .con13_next {
    order: 3;
  }

  .con13_arrow {
    width: 15vw;
    margin-top: 6vw;
  }

  .con13_prev {
    order: 2;
    margin-right: 0;
  }

  .con13_card {
    border-radius: 4vw;
  }

  .con13_card_body {
    padding: 6vw 3vw 6vw;
  }

  .con13_card_tit {
    font-size: 4.6vw;
    letter-spacing: -0.1vw;
    line-height: 1.3;
  }

  .con13_card_desc {
    margin-top: 2vw;
    font-size: 3.4vw;
    letter-spacing: -0.04vw;
    line-height: 1.5;
    opacity: 0.75;
  }

  .con13_empty {
    height: 60vw;
    border-radius: 4vw;
  }

  .con13_empty_txt {
    font-size: 4.6vw;
    line-height: 1.3;
  }

  /* ===== con14 ===== */

  /* 양옆 격자 장식은 좁은 폭에서 가운데 문구를 누르므로 숨기고, 두루마리는 폭 96vw 에 맞춰 세로를 늘린다(글자 최소 크기 확보) */

  .con14_lat {
    display: none;
  }

  .con14_band {
    height: 9vw;
  }

  .con14_band_txt {
    margin-left: 1.6vw;
    font-size: 3.3vw;
    color: #bdbcb5;
    letter-spacing: 1.6vw;
    line-height: 1.3;
  }

  /* 면제 항목 — 두루마리 이미지 대신 한 줄 카드 3장(왼쪽 항목명·정가, 오른쪽 0원 도장) */

  .con14_item_3 {
    margin-left: 0;
  }

  /* con14 쿠폰 티켓 컨셉(에이전트 경쟁 A안 채택, 같은 선택자 규칙은 하나로 합침) */

  .con14 {
    padding-bottom: 15vw;
  }

  /* ---- 타이틀 위계 ---- */

  .con14_eyebrow {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 3vw;
    margin-top: 11vw;
    font-size: 4.4vw;
    letter-spacing: 0.3vw;
    line-height: 1.4;
    color: #8a6a2b;
  }

  .con14_eyebrow::before,
  .con14_eyebrow::after {
    content: "";
    width: 9vw;
    height: 1px;
    background-color: #c9a85a;
  }

  .con14_title {
    margin-top: 2.2vw;
    font-size: 7.4vw;
    letter-spacing: -0.3vw;
    line-height: 1.35;
  }

  .con14_sub {
    margin-top: 1.6vw;
    font-size: 3.5vw;
    letter-spacing: -0.04vw;
    line-height: 1.5;
    font-weight: 400;
    color: #6f6350;
  }

  .con14_free {
    margin-left: 0;
    margin-top: 6vw;
    font-size: 7vw;
    line-height: 1.3;
    filter: drop-shadow(0 1vw 1.6vw rgba(204, 53, 40, 0.22));
  }

  .con14_free_num {
    box-sizing: border-box;
    width: auto;
    padding: 1.4vw 3.2vw 1vw;
    border-radius: 1.6vw;
    letter-spacing: -0.3vw;
  }

  .con14_free_txt {
    margin-left: 2vw;
    letter-spacing: -0.4vw;
  }

  /* ---- 쿠폰 티켓 ---- */

  .con14_scroll {
    width: 100%;
    height: auto;
    margin-right: 0;
    background-image: none;
    margin-top: 7vw;
  }

  .con14_list {
    flex-direction: column;
    align-items: stretch;
    box-sizing: border-box;
    width: 100%;
    margin-left: 0;
    row-gap: 4.4vw;
    padding: 0 5vw;
    filter: drop-shadow(0 1.2vw 2vw rgba(92, 70, 24, 0.16));
  }

  .con14_item {
    display: grid;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    position: relative;
    grid-template-columns: 1fr 31vw;
    padding: 4.6vw 0 4.6vw 8vw;
    border: 0;
    border-radius: 2.4vw;
    box-shadow: none;
    background-color: transparent;
    background-image: radial-gradient(circle 2.6vw at 0 50%, transparent 99%, #c9a85a 100%, transparent calc(100% + 1px)),
      radial-gradient(circle 2.6vw at 100% 50%, transparent 99%, #c9a85a 100%, transparent calc(100% + 1px)),
      radial-gradient(circle 2.2vw at calc(100% - 31vw) 0, transparent 99%, #c9a85a 100%, transparent calc(100% + 1px)),
      radial-gradient(circle 2.2vw at calc(100% - 31vw) 100%, transparent 99%, #c9a85a 100%, transparent calc(100% + 1px)),
      linear-gradient(90deg, #fffbee 0%, #fffbee calc(100% - 31vw), #fbf0d0 calc(100% - 31vw), #f7e8bd 100%);
    -webkit-mask-image: radial-gradient(circle 2.6vw at 0 50%, transparent 98%, #000 100%),
      radial-gradient(circle 2.6vw at 100% 50%, transparent 98%, #000 100%),
      radial-gradient(circle 2.2vw at calc(100% - 31vw) 0, transparent 98%, #000 100%),
      radial-gradient(circle 2.2vw at calc(100% - 31vw) 100%, transparent 98%, #000 100%);
    mask-image: radial-gradient(circle 2.6vw at 0 50%, transparent 98%, #000 100%),
      radial-gradient(circle 2.6vw at 100% 50%, transparent 98%, #000 100%),
      radial-gradient(circle 2.2vw at calc(100% - 31vw) 0, transparent 98%, #000 100%),
      radial-gradient(circle 2.2vw at calc(100% - 31vw) 100%, transparent 98%, #000 100%);
    -webkit-mask-composite: source-in;
    mask-composite: intersect;
  }

  /* 점선 절취선 */

  .con14_item::before {
    content: "";
    position: absolute;
    top: 3.4vw;
    bottom: 3.4vw;
    right: 31vw;
    border-left: 1px dashed #c9a85a;
  }

  /* 금색 테두리 (마스크가 border 를 잘라 inset 라인으로 대체) */

  .con14_item::after {
    content: "";
    position: absolute;
    top: 1.2vw;
    right: 1.2vw;
    bottom: 1.2vw;
    left: 1.2vw;
    border: 1px solid rgba(201, 168, 90, 0.55);
    border-radius: 1.4vw;
  }

  .con14_item_name {
    grid-column: 1;
    grid-row: 1;
    font-family: var(--font-myeongjo);
    font-size: 5vw;
    letter-spacing: -0.1vw;
    line-height: 1.35;
  }

  .con14_item_name::before {
    content: "면제 쿠폰";
    display: block;
    margin-bottom: 0.8vw;
    font-family: "Pretendard Variable";
    font-size: 3.3vw;
    font-weight: 600;
    letter-spacing: 0.4vw;
    line-height: 1.4;
    color: #a47b1f;
  }

  .con14_item_old {
    grid-column: 1;
    grid-row: 2;
    letter-spacing: -0.05vw;
    line-height: 1.3;
    margin-top: 1.4vw;
    font-size: 3.6vw;
    color: #8a7d6a;
  }

  .con14_stamp {
    grid-column: 2;
    grid-row: 1 / span 2;
    margin-top: 0;
    margin-left: 0;
    justify-self: center;
    width: 18vw;
  }

  /* ===== con15 ===== */

  /* 3열 표(항목·금액·내용)는 내용 열이 좁아 글이 4줄로 깨지므로, 행마다 「항목 — 금액 / 내용」 2단으로 접는다. 머리·대상 행은 2열 유지 */

  /* 상단 갈색 띠는 배경 jpg(상단 200px)가 칠하던 것 — 모바일은 띠 높이가 달라 jpg 대신 원본 색(#4a3d2a, 양끝 #29241e 비네팅)으로 칠한다 */

  .con15_band_title {
    flex-direction: column;
    line-height: 1.35;
    padding-right: 0;
    margin-right: 0;
  }

  .con15_band_a {
    font-size: 6.4vw;
    letter-spacing: -0.3vw;
  }

  .con15_band_dots::before,
  .con15_band_dots::after {
    top: -2.3vw;
    width: 1.3vw;
    height: 1.3vw;
  }

  .con15_band_dots::before {
    left: 2.8vw;
  }

  .con15_band_dots::after {
    left: 8vw;
  }

  .con15_band_b {
    margin-left: 0;
    font-size: 9.6vw;
    letter-spacing: -0.1vw;
  }

  .con15_cell {
    white-space: normal;
  }

  .con15_cell_head_l {
    flex-grow: 1;
    width: 0;
    padding-right: 0;
  }

  .con15_cell_head_r {
    flex-grow: 1;
    width: 0;
    padding-right: 0;
  }

  .con15_cell_new {
    padding-right: 0;
  }

  /* 비용 행 — 항목(왼쪽) · 금액(오른쪽) / 내용(아래 한 줄) */

  .con15_floor {
    height: 7vw;
    margin-top: 8vw;
  }

  .con15_roof {
    left: auto;
    width: 78%;
  }

  /* con15 밝은 명세서 톤(에이전트 경쟁 A안 채택, 같은 선택자 규칙은 하나로 합침) */

  .con15 {
    padding-bottom: 10vw;
    background-color: #f6f2d5;
    background-image: none;
  }

  /* 상단 띠: 카드가 아래에서 파고들 수 있게 하단 여백만 키운다 */

  .con15_band {
    background-color: #4a3d2a;
    background-image: linear-gradient(90deg, #29241e, #4a3d2a 22%, #4a3d2a 78%, #29241e);
    padding-top: 11vw;
    padding-bottom: 15vw;
  }

  .con15_band_sub {
    margin-top: 2vw;
    font-size: 3.3vw;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.62);
    letter-spacing: -0.03vw;
  }

  /* 카드: 띠를 살짝 덮는 흰 명세서 */

  .con15_card {
    box-sizing: border-box;
    width: 92%;
    margin-top: -7vw;
    margin-right: 0;
    padding-top: 10vw;
    padding-bottom: 7vw;
    border: 1px solid #e7dfc2;
    border-radius: 4vw;
    background-color: #fff;
    box-shadow: 0 2vw 6vw rgba(49, 34, 30, 0.14);
  }

  /* 제목: 박스 없이 위계 타이포, 포인트색은 '높였습니다!' 한 군데 */

  .con15_title {
    gap: 1.6vw;
  }

  .con15_title::before {
    content: "";
    width: 9vw;
    height: 2px;
    margin-bottom: 3vw;
    background-color: var(--color-point);
  }

  .con15_title_l1 {
    margin-left: 0;
    font-size: 4.6vw;
    letter-spacing: -0.2vw;
    line-height: 1.35;
    color: #6b6355;
  }

  .con15_title_l2 {
    margin-top: 0;
    margin-left: 0;
    font-size: 6.4vw;
    letter-spacing: -0.4vw;
    line-height: 1.3;
    color: #1d1a19;
  }

  .con15_title_txt_l2 {
    padding-top: 0;
    line-height: 1.3;
  }

  .con15_hl {
    width: auto;
    margin-left: 1.2vw;
    padding: 0;
    background-color: transparent;
  }

  .con15_hl_dark {
    width: auto;
    margin-left: 1.2vw;
    background-color: transparent;
    color: #6b6355;
  }

  .con15_hl_red {
    width: auto;
    margin-left: 1.4vw;
    background-color: transparent;
    color: #a9780f;
  }

  .con15_desc {
    text-align: center;
    white-space: normal;
    text-wrap: balance;
    margin-top: 4vw;
    padding: 0 6vw;
    font-size: 3.5vw;
    font-weight: 400;
    letter-spacing: -0.05vw;
    line-height: 1.6;
    color: #6f6859;
  }

  /* 명세 리스트 */

  .con15_wrap {
    box-sizing: border-box;
    width: 100%;
    margin-top: 6.5vw;
    padding: 0 5vw;
  }

  .con15_unit {
    letter-spacing: -0.03vw;
    font-size: 3.3vw;
    font-weight: 400;
    line-height: 1.4;
    text-align: right;
    color: #9a9384;
    opacity: 1;
  }

  .con15_tbl {
    letter-spacing: -0.04vw;
    margin-top: 2vw;
    border-top: 0;
    font-size: 3.6vw;
  }

  .con15_row {
    padding: 5vw 0;
    border-bottom: 1px solid #eee8d6;
    line-height: 1.4;
  }

  /* 구분 / 신규 창업: 장부 머리글 */

  .con15_row_head {
    border-bottom-color: #e6dfd0;
    justify-content: space-between;
    padding: 2.8vw 3vw;
    border-top-color: transparent;
    border-bottom: 0;
    border-radius: 2vw;
    background-color: #f6f2e4;
    font-size: 3.4vw;
    font-weight: 700;
    letter-spacing: -0.04vw;
    color: #1d1a19;
  }

  .con15_row_head .con15_cell_head_l {
    flex-grow: 0;
    width: auto;
    text-align: left;
    color: #8a8372;
    font-weight: 500;
  }

  .con15_row_head .con15_cell_head_r {
    flex-grow: 0;
    width: auto;
    padding-right: 0;
    border-left: 0;
    text-align: right;
  }

  .con15_row_target {
    justify-content: space-between;
    padding: 3.4vw 0;
    font-size: 3.6vw;
  }

  .con15_row_target .con15_cell_head_l {
    flex-grow: 0;
    width: auto;
    padding-right: 0;
    text-align: left;
    color: #8a8372;
  }

  .con15_row_target .con15_cell_head_r {
    flex-grow: 0;
    width: auto;
    padding-right: 0;
    border-left: 0;
    text-align: right;
    font-weight: 700;
  }

  .con15_row:not(.con15_row_head):not(.con15_row_target) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 3vw;
    align-items: baseline;
  }

  .con15_cell_c1 {
    width: auto;
    text-align: left;
    grid-column: 1;
    padding-left: 0;
    font-size: 4vw;
    font-weight: 700;
    letter-spacing: -0.08vw;
    color: #1d1a19;
  }

  .con15_cell_c2 {
    width: auto;
    border-left: 0;
    text-align: right;
    grid-column: 2;
    padding-left: 0;
    font-size: 4vw;
    font-weight: 700;
    letter-spacing: -0.06vw;
    font-variant-numeric: tabular-nums;
    color: #1d1a19;
  }

  .con15_cell_c3 {
    width: auto;
    border-left: 0;
    text-align: left;
    grid-column: 1 / -1;
    margin-top: 1.2vw;
    padding-right: 0;
    font-size: 3.4vw;
    font-weight: 400;
    letter-spacing: -0.05vw;
    line-height: 1.45;
    color: #8c8574;
    opacity: 1;
  }

  .con15_cell_bd {
    justify-content: flex-start;
    opacity: 1;
    margin-top: 1.8vw;
  }

  /* 면제 항목: 정가는 연한 회색 취소선, 면제 표시는 담백한 태그 하나 */

  .con15_old {
    color: #b3ad9d;
    font-weight: 500;
    background-size: 100% 1px;
  }

  .con15_badge {
    width: auto;
    margin-right: 0;
    padding: 0.7vw 2.6vw;
    border-radius: 50vw;
    background-color: #f8efd2;
    font-family: inherit;
    font-size: 3.3vw;
    font-weight: 700;
    letter-spacing: -0.05vw;
    line-height: 1.4;
    color: #8a6410;
  }

  .con15_row_last {
    margin-bottom: 4.5vw;
    border-bottom: 0;
  }

  /* 합계: 어두운 면 + 금색 큰 숫자 */

  .con15_sum {
    box-sizing: border-box;
    width: 100%;
    margin-left: 0;
    justify-content: space-between;
    align-items: center;
    padding: 5.2vw 5.5vw;
    border: 1px solid #5a4a2e;
    border-radius: 3vw;
    background-color: #1d1a19;
    line-height: 1.4;
  }

  .con15_sum_col {
    width: auto;
  }

  .con15_sum_label {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0.6vw;
    font-size: 4.4vw;
    font-weight: 700;
    letter-spacing: -0.1vw;
    color: #fff;
  }

  .con15_sum_label_s {
    font-size: 3.3vw;
    font-weight: 400;
    letter-spacing: -0.05vw;
    color: rgba(255, 255, 255, 0.6);
  }

  .con15_sum_val {
    font-family: var(--font-myeongjo);
    font-size: 7.4vw;
    font-weight: 800;
    letter-spacing: -0.2vw;
    line-height: 1.2;
    color: var(--color-point);
  }

  /* 각주: 작고 연한 안내 박스 */

  .con15_foot {
    margin-left: 0;
    gap: 1.2vw;
    margin-top: 4vw;
    padding: 4vw 4.2vw;
    border-radius: 2.4vw;
    background-color: #f7f4ea;
    font-size: 3.3vw;
    font-weight: 400;
    letter-spacing: -0.04vw;
    line-height: 1.55;
    color: #8c8574;
    opacity: 1;
  }

  .con15_foot::before {
    content: "안내사항";
    margin-bottom: 0.6vw;
    font-size: 3.3vw;
    font-weight: 700;
    color: #a9780f;
  }

  .con15_foot_item {
    text-wrap: pretty;
    padding-left: 1em;
    text-indent: -1em;
    white-space: normal;
    word-break: keep-all;
  }

  /* 하단 한옥 지붕·바닥띠는 카드가 끝나는 모양을 깔끔하게 하려고 뺀다 */

  .con15_floor,
  .con15_roof {
    display: none;
  }

  /* ===== con16 ===== */

  /* 4열 × 2행 + 단계 화살표 → 2열 격자(번호가 순서를 말해 주므로 화살표는 뺀다). 카드 뒤 파스타 사진은 좁은 폭에서 카드에 가려 뺀다 */

  .con16 {
    padding-top: 20vw;
    padding-bottom: 14vw;
    background-image: linear-gradient(#1d1a19 3vw, #eccc79 3vw 4.8vw, #1d1a19 4.8vw);
    background-position: 0 0;
    background-size: 100% 8vw;
  }

  .con16_title {
    padding-right: 0;
    font-size: 7.5vw;
    letter-spacing: -0.3vw;
    line-height: 1.3;
  }

  .con16_arrow {
    display: none;
  }

  /* con16 세로 타임라인(에이전트 경쟁 A안 채택, 같은 선택자 규칙은 하나로 합침) */

  .con16_sub {
    margin-top: 2vw;
    padding: 0 6vw;
    font-size: 3.5vw;
    letter-spacing: -0.04vw;
    line-height: 1.5;
    text-align: center;
    white-space: normal;
    text-wrap: balance;
    color: rgba(255, 255, 255, 0.72);
    font-weight: 400;
  }

  /* 두 행(ol)을 하나의 세로 타임라인으로 이어 붙인다 */

  .con16_row {
    grid-template-columns: 1fr 1fr;
    background-image: none;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0;
    padding: 0 8vw;
  }

  .con16_row_1 {
    margin-top: 10vw;
  }

  .con16_row_2 {
    margin-top: 0;
  }

  /* 카드 박스를 걷어내고 [번호 | 제목·설명] 2열 */

  .con16_card {
    box-sizing: border-box;
    height: auto;
    position: relative;
    isolation: isolate;
    overflow: visible;
    display: grid;
    grid-template-columns: 11vw 1fr;
    grid-template-areas: "no name" "no desc";
    grid-template-rows: auto 1fr;
    column-gap: 4.5vw;
    justify-content: start;
    align-items: start;
    width: 100%;
    padding: 0 0 7vw;
    border: 0;
    border-radius: 0;
    background-color: transparent;
  }

  /* 번호에서 다음 번호까지 이어지는 세로선 */

  .con16_card::after {
    content: "";
    position: absolute;
    top: 12.5vw;
    bottom: 1.5vw;
    left: calc(5.5vw - 0.5px);
    width: 1px;
    background-image: linear-gradient(rgba(236, 204, 121, 0.55), rgba(236, 204, 121, 0.18));
  }

  .con16_row_2 > .con16_card:last-child {
    padding-bottom: 0;
  }

  .con16_row_2 > .con16_card:last-child::after {
    display: none;
  }

  .con16_no {
    grid-area: no;
    box-sizing: border-box;
    width: 11vw;
    height: auto;
    aspect-ratio: 1 / 1;
    margin-top: 0;
    border: 1px solid var(--color-point);
    border-radius: 50%;
    background-image: none;
    background-color: #31221e;
  }

  .con16_no_num {
    font-size: 4vw;
    line-height: 1;
    color: var(--color-point);
  }

  .con16_card_name {
    padding-right: 0;
    white-space: normal;
    grid-area: name;
    margin-top: 2.4vw;
    font-size: 4.8vw;
    letter-spacing: -0.2vw;
    line-height: 1.3;
    text-align: left;
    color: #fff;
    word-break: keep-all;
  }

  .con16_card_desc {
    white-space: normal;
    grid-area: desc;
    margin-top: 1.8vw;
    font-size: 3.6vw;
    font-weight: 400;
    letter-spacing: -0.04vw;
    line-height: 1.5;
    text-align: left;
    color: rgba(255, 255, 255, 0.68);
    opacity: 1;
    text-wrap: pretty;
    word-break: keep-all;
  }

  /* 07 그랜드 오픈 — 금색 번호 + 은은한 금빛 패널 */

  .con16_card_hl::before,
  .con16_card_hl:hover::before {
    content: "";
    position: absolute;
    top: -1.5vw;
    right: 0;
    bottom: 3.5vw;
    left: 14.5vw;
    z-index: -1;
    width: auto;
    height: auto;
    border: 1px solid rgba(236, 204, 121, 0.5);
    border-radius: 4vw;
    background: rgba(236, 204, 121, 0.1);
    transform: none;
    transition: none;
  }

  .con16_card_hl .con16_no {
    border-color: var(--color-point);
    background-image: none;
    background-color: var(--color-point);
    box-shadow: 0 0 0 1.4vw rgba(236, 204, 121, 0.2);
  }

  .con16_card_hl .con16_no_num {
    color: #1d1a19;
  }

  .con16_card_hl .con16_card_name {
    padding: 0 4vw;
    color: var(--color-point);
  }

  .con16_card_hl .con16_card_desc {
    padding: 0 4vw;
    color: rgba(255, 255, 255, 0.85);
  }

  /* ===== con17 ===== */

  /* 좌 다크 | 우 크림 2분할 → 위(문구 + 탭) / 아래(카드 슬라이더). 배경 영상은 모바일에서 src 를 안 받아 poster 컷만 깔린다 */

  .con17_txt {
    align-items: center;
    margin-top: 0;
    margin-left: 0;
    text-align: center;
  }

  .con17_head {
    letter-spacing: -0.08vw;
  }

  .con17_sw {
    width: 76vw;
    margin: 0;
    overflow: visible;
  }

  .con17_slide_01 .con17_card_tit {
    margin-left: 0;
  }

  .con17_slide_02 .con17_card_tit {
    margin-left: 0;
  }

  .con17_slide_03 .con17_card_tit {
    margin-left: 0;
  }

  .con17_slide_04 .con17_card_tit {
    margin-left: 0;
  }

  /* 상단 찢어진 종이 띠는 con16 이 어두운 바탕이라 이음새가 거칠게 보여 모바일에서 뺀다 */

  .con17_band {
    display: none;
  }

  /* con17 어두운 프리미엄 알약 탭(에이전트 경쟁 A안 채택, 같은 선택자 규칙은 하나로 합침) */

  .con17 {
    flex-direction: column;
    align-items: stretch;
    background-color: var(--color-dark);
  }

  .con17_left {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    padding: 24vw 6vw 8vw;
    background-color: var(--color-dark);
  }

  .con17_video_wrap {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-mask-image: linear-gradient(to bottom, #000 45%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 45%, transparent 100%);
  }

  .con17_video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.24;
  }

  .con17_eyebrow {
    margin-left: 0;
    font-size: 4.2vw;
    font-weight: 500;
    letter-spacing: -0.04vw;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.82);
  }

  .con17_title {
    margin-left: 0;
    margin-top: 1.5vw;
    font-size: 8.6vw;
    letter-spacing: -0.3vw;
    line-height: 1.3;
  }

  .con17_desc {
    letter-spacing: -0.04vw;
    white-space: normal;
    text-wrap: balance;
    margin-top: 4vw;
    font-size: 3.5vw;
    font-weight: 400;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.85);
  }

  .con17_right {
    align-items: center;
    width: 100%;
    padding-top: 0vw;
    padding-bottom: 13vw;
    background-color: var(--color-dark);
  }

  .con17_slide {
    height: auto;
  }

  .con17_card {
    height: 100%;
    border: 0;
    border-radius: 5vw;
    background-color: #f5f2e1;
  }

  .con17_card_img {
    border-bottom: 0;
  }

  .con17_card_body {
    box-sizing: border-box;
    width: 100%;
    justify-content: flex-start;
    padding: 5.5vw 5.5vw 7vw;
  }

  .con17_card_tit {
    white-space: normal;
    font-size: 5vw;
    letter-spacing: -0.2vw;
    line-height: 1.35;
  }

  .con17_card_tit::before {
    content: "";
    display: block;
    width: 7vw;
    margin-bottom: 3vw;
    border-top: 2px solid #cc3528;
  }

  .con17_card_desc {
    letter-spacing: -0.04vw;
    white-space: normal;
    text-wrap: pretty;
    margin-top: 3vw;
    font-size: 3.5vw;
    font-weight: 400;
    line-height: 1.6;
    color: #3a3533;
  }

  .con17_card_desc p + p {
    margin-top: 1.5vw;
  }

  .con17_nav {
    justify-content: center;
    width: 100%;
    margin-left: 0;
    margin-top: 7vw;
  }

  .con17_arrow {
    width: 12.8vw;
    aspect-ratio: 1 / 1;
    border: 1px solid rgba(237, 207, 128, 0.7);
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.06);
  }

  .con17_arrow img {
    display: none;
  }

  .con17_arrow::after {
    content: "";
    display: block;
    width: 2.6vw;
    height: 2.6vw;
    border-top: 2px solid var(--color-point);
    border-right: 2px solid var(--color-point);
  }

  .con17_prev::after {
    margin-left: 1vw;
    transform: rotate(-135deg);
  }

  .con17_next::after {
    margin-right: 1vw;
    transform: rotate(45deg);
  }

  .con17_next {
    margin-left: 4vw;
  }

  /* con17 탭 세로 스텝 목록(에이전트 경쟁 B안 채택) */

  .con17_tabs {
    counter-reset: con17step;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0;
    width: 100%;
    margin-top: 7vw;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }

  .con17_tabs_item {
    counter-increment: con17step;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }

  .con17_tab {
    padding-right: 0;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    height: 12.8vw;
    padding: 0 5vw 0 5.6vw;
    border: 0;
    border-radius: 0;
    background-color: rgba(29, 26, 25, 0.55);
    box-shadow: inset 0 0 0 0 var(--color-point);
    font-size: 4vw;
    font-weight: 500;
    letter-spacing: -0.06vw;
    line-height: 1.4;
    text-align: left;
    color: rgba(255, 255, 255, 0.8);
    transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
  }

  .con17_tab::before {
    content: counter(con17step, decimal-leading-zero);
    flex-shrink: 0;
    width: 8vw;
    margin-right: 3vw;
    font-size: 3.4vw;
    font-weight: 600;
    letter-spacing: 0.05vw;
    line-height: 1.4;
    font-variant-numeric: tabular-nums;
    opacity: 0.55;
  }

  .con17_tab::after {
    content: "";
    flex-shrink: 0;
    width: 2vw;
    height: 2vw;
    margin-left: auto;
    border-top: 0.4vw solid currentColor;
    border-right: 0.4vw solid currentColor;
    transform: rotate(45deg);
    opacity: 0.45;
  }

  .con17_tab.on {
    border-color: var(--color-point);
    width: 100%;
    border: 0;
    background-color: rgba(52, 44, 26, 0.86);
    box-shadow: inset 1.2vw 0 0 0 var(--color-point);
    font-weight: 700;
    color: var(--color-point);
  }

  /* ===== con18 ===== */

  /* 좌 검색·리스트 | 우 지도 → 위로 검색, 가운데 지도, 아래 리스트. 좌 칸 래퍼는 display:contents 로 풀어 order 로 재배열한다 */

  .con18_left {
    display: contents;
  }

  /* 지도 말풍선(JS 가 만드는 CustomOverlay) */

  .map_marker_text {
    padding: 1.6vw 3.6vw;
    font-size: 3.4vw;
    letter-spacing: -0.05vw;
    line-height: 1.3;
  }

  .map_marker_tail {
    width: 2.6vw;
    height: 2.6vw;
    margin-top: -1.5vw;
  }

  /* 매장 상세 팝업 */

  .popup {
    width: 88vw;
    padding: 4vw 6vw 7vw;
    border-radius: 5vw;
  }

  .popup_close {
    width: 9vw;
    height: 9vw;
    margin-right: -2vw;
  }

  .popup_close::before,
  .popup_close::after {
    width: 3.6vw;
  }

  .popup_photo {
    margin-bottom: 4vw;
    border-radius: 3vw;
  }

  .popup_name {
    font-size: 5.4vw;
    letter-spacing: -0.2vw;
    line-height: 1.3;
  }

  .popup_line {
    margin: 4vw 0;
  }

  .popup_row {
    margin-top: 2vw;
    font-size: 3.8vw;
    letter-spacing: -0.05vw;
    line-height: 1.5;
  }

  .popup_label {
    width: 12vw;
  }

  .popup_link {
    margin-top: 5vw;
    padding: 2.6vw 6vw;
    font-size: 3.6vw;
    letter-spacing: -0.05vw;
    line-height: 1.4;
  }

  /* con18 카드형 리스트(에이전트 경쟁 A안 채택, 같은 선택자 규칙은 하나로 합침) */

  .con18 {
    padding-top: 15vw;
    padding-bottom: 14vw;
  }

  .con18_title {
    margin-left: 0;
    letter-spacing: -0.3vw;
    word-spacing: 0.6vw;
    font-size: 7.5vw;
    line-height: 1.3;
  }

  /* 통합 박스(테두리·흰 배경)를 풀어 검색 / 지도 / 리스트가 각각 독립된 덩어리가 되게 한다 */

  .con18_box {
    height: auto;
    flex-direction: column;
    gap: 2vw;
    width: 92%;
    margin-top: 6vw;
    margin-left: 0;
    border: 0;
    border-radius: 0;
    overflow: visible;
    background-color: transparent;
  }

  /* 검색바 — 알약 하나 */

  .con18_search {
    order: 1;
    align-items: center;
    height: auto;
    padding: 1vw;
    border: 1px solid rgba(189, 163, 97, 0.6);
    border-radius: 50vw;
    background-color: #fff;
    box-shadow: 0 1.2vw 3.4vw rgba(29, 26, 25, 0.08);
  }

  .con18_input {
    padding-left: 5vw;
    padding: 3.6vw 0 3.6vw 5vw;
    font-size: 4.2vw;
    letter-spacing: -0.05vw;
    line-height: 1.4;
    color: var(--color-dark);
  }

  .con18_input::placeholder {
    color: rgba(29, 26, 25, 0.5);
  }

  .con18_search_btn {
    padding-left: 0.6vw;
    width: 12.2vw;
    aspect-ratio: 1 / 1;
    padding: 0;
    border-radius: 50%;
  }

  .con18_search_icon {
    width: 5.6vw;
  }

  /* 지도 — 둥근 모서리 풀폭 (컨테이너만 다룬다) */

  .con18_right {
    order: 2;
    flex-grow: 0;
    width: 100%;
    height: 80vw;
    border: 1px solid rgba(189, 163, 97, 0.6);
    border-radius: 6vw;
    overflow: hidden;
    background-color: #ebe4d3;
    box-shadow: 0 1.2vw 3.4vw rgba(29, 26, 25, 0.08);
  }

  /* 리스트 — 카드 사이 간격 + 그림자가 잘리지 않도록 좌우 여백을 음수 마진으로 상쇄 */

  /* 매장 목록 — 게시판이라 몇 개든 늘어난다. 높이를 고정하고(80vw) 배경 패널 안에서 목록만 스크롤한다 */

  .con18_list {
    order: 3;
    flex-grow: 0;
    gap: 2vw;
    box-sizing: border-box;
    height: 80vw;
    margin: 0;
    padding: 2.4vw 2vw 2.4vw 2.4vw;
    border-top: 0;
    border-radius: 5vw;
    background-color: rgba(189, 163, 97, 0.56);
  }

  .con18_list::-webkit-scrollbar {
    width: 1.6vw;
  }

  .con18_list::-webkit-scrollbar-track {
    margin: 1vw 0;
    border-radius: 50vw;
    background-color: rgba(189, 163, 97, 0.22);
  }

  .con18_list::-webkit-scrollbar-thumb {
    border-radius: 50vw;
    background-color: #bda361;
  }

  .con18_list::-webkit-scrollbar-button {
    display: none;
  }

  .con18_store {
    align-items: center;
    flex-shrink: 0;
    gap: 3vw;
    padding: 3vw 3vw 3vw 4.4vw;
    border: 1px solid rgba(189, 163, 97, 0.45);
    border-radius: 4vw;
    background-color: #fff;
    box-shadow: 0 1vw 3vw rgba(29, 26, 25, 0.07);
  }

  .con18_store_info {
    padding-top: 0;
  }

  .con18_store_name {
    font-size: 4.2vw;
    letter-spacing: -0.1vw;
    line-height: 1.35;
    color: var(--color-dark);
  }

  .con18_store_addr {
    margin-top: 1vw;
    font-size: 3.4vw;
    letter-spacing: -0.04vw;
    line-height: 1.5;
    color: rgba(29, 26, 25, 0.68);
  }

  .con18_store_tel {
    margin-top: 0.4vw;
    font-size: 3.4vw;
    font-weight: 500;
    letter-spacing: -0.04vw;
    line-height: 1.5;
    color: #cc3528;
  }

  /* 상세 화살표 — 다크 원형 버튼 */

  .con18_arrow {
    width: 9vw;
    aspect-ratio: 1 / 1;
    margin-top: 0;
    border-radius: 50%;
    overflow: hidden;
    background-color: var(--color-dark);
  }

  .con18_arrow img {
    width: 100%;
  }

  .con18_noshop {
    letter-spacing: -0.04vw;
    line-height: 1.5;
    padding: 8vw 0;
    border: 1px dashed rgba(189, 163, 97, 0.7);
    border-radius: 5vw;
    background-color: rgba(255, 255, 255, 0.85);
    font-size: 3.8vw;
    color: rgba(29, 26, 25, 0.75);
  }

  /* ===== con19 ===== */

  /* 좌 문구 | 우 폼 → 문구 / 사진 / 폼 한 줄 세로. 카드 래퍼는 display:contents 로 풀어 section 직계로 order 재배열한다.
     배경 jpg 는 좌 다크사진 | 우 갈색패널 2분할이라 세로로 쌓으면 이음선이 비친다 → 바탕은 jpg 에서 뽑은 다크(#1d1a19), 폼은 우측 갈색 패널색(#32251d) 카드로 칠한다. 폼 입력 글자는 16px(4.2vw) 이상 — iOS 자동확대 방지 */

  .con19_band_line {
    height: 1.2vw;
  }

  .con19_band_txt {
    padding: 0 3vw;
    font-size: 3.6vw;
    letter-spacing: -0.1vw;
  }

  .con19_card {
    display: contents;
  }

  .con19_title {
    align-items: center;
    margin-left: 0;
    text-align: center;
  }

  .con19_title_sub {
    font-size: 4.6vw;
    letter-spacing: -0.1vw;
  }

  .con19_title_main {
    margin-top: 2vw;
    font-size: 7vw;
    letter-spacing: -0.3vw;
    line-height: 1.2;
  }

  .con19_link_icon {
    width: 5.4vw;
  }

  .con19_link_icon_mail {
    width: 5.2vw;
  }

  .con19_req {
    width: 3vw;
    margin-left: 0;
    margin-right: 1.4vw;
    font-size: 5vw;
  }

  .con19_req_2 {
    margin-top: 0;
  }

  .con19_req_3 {
    margin-top: 0;
  }

  .con19_req_4 {
    margin-top: 0;
  }

  .con19_req_5 {
    margin-top: 0;
  }

  .con19_inp::placeholder {
    color: rgba(255, 255, 255, 0.55);
  }

  .con19_area::placeholder {
    color: rgba(255, 255, 255, 0.55);
  }

  .con19_sel {
    flex-grow: 1;
    width: 0;
  }

  .con19_sel_type {
    flex-grow: 1;
    width: 0;
  }

  .con19_sel_head_a {
    padding-right: 3vw;
  }

  .con19_sel_head_b {
    padding-left: 4vw;
  }

  .con19_sel_opt {
    padding: 3vw 3.6vw;
    border-radius: 2vw;
    font-size: 4vw;
  }

  /* con19 라인형 입력 폼(에이전트 경쟁 A안 채택, 같은 선택자 규칙은 하나로 합침) */

  .con19 {
    padding-top: 5vw;
    background-color: #1d1a19;
    background-image: none;
    padding-bottom: 12vw;
  }

  /* ---- 상단 문구 ---- */

  .con19_left {
    order: 2;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    padding: 0 6vw;
    margin-top: 13vw;
  }

  .con19_desc {
    letter-spacing: -0.04vw;
    text-align: center;
    text-wrap: balance;
    margin-top: 4.6vw;
    font-size: 3.6vw;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.82);
  }

  /* ---- 전화/메일: 동일 폭 알약 2개 ---- */

  .con19_links {
    width: 100%;
    column-gap: 3vw;
    margin-top: 7vw;
  }

  .con19_link {
    column-gap: 2vw;
    justify-content: center;
    padding-left: 0;
    flex-grow: 1;
    width: 0;
    height: 13vw;
    border-radius: 50vw;
    border: 1px solid rgba(237, 207, 128, 0.55);
  }

  .con19_link_tel {
    column-gap: 2vw;
    padding-left: 0;
    border-color: #edcf80;
    background-color: #edcf80;
    color: #1d1a19;
  }

  .con19_link_mail {
    padding-left: 0;
    background-color: transparent;
    color: #fff;
  }

  .con19_link_txt {
    margin-top: 0.4vw;
    letter-spacing: -0.2vw;
    font-size: 4.1vw;
  }

  .con19_photo {
    order: 3;
    position: relative;
    left: auto;
    top: auto;
    margin-top: 6vw;
    margin-bottom: -19vw;
    width: 84vw;
  }

  /* ---- 폼 패널 ---- */

  .con19_form {
    order: 4;
    box-sizing: border-box;
    width: 92vw;
    background-color: #32251d;
    margin-top: 4vw;
    padding: 3vw 5.4vw 7vw;
    border-radius: 5vw;
    box-shadow: 0 2vw 6vw rgba(0, 0, 0, 0.28);
  }

  .con19_row {
    display: grid;
    grid-template-columns: auto auto 1fr;
    align-items: center;
    row-gap: 2vw;
    margin-top: 4.6vw;
    padding: 0;
    border-bottom: 0;
  }

  .con19_lb {
    margin-right: 4vw;
    grid-column: 1;
    grid-row: 1;
    justify-content: flex-start;
    width: auto;
    margin: 0;
    font-size: 3.7vw;
    font-weight: 600;
    letter-spacing: -0.05vw;
    color: rgba(255, 255, 255, 0.9);
  }

  .con19_lb_solo {
    align-self: center;
    margin-left: 0;
  }

  .con19_req,
  .con19_req_2,
  .con19_req_3,
  .con19_req_4,
  .con19_req_5 {
    grid-column: 2;
    grid-row: 1;
    width: auto;
    margin: 1vw 0 0 1.2vw;
    font-size: 4.2vw;
    color: #edcf80;
  }

  /* ---- 입력 면 ---- */

  .con19_inp,
  .con19_area,
  .con19_sel_head {
    box-sizing: border-box;
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 3vw;
    background-color: rgba(255, 255, 255, 0.07);
    color: #fff;
  }

  .con19_inp {
    letter-spacing: -0.05vw;
    grid-column: 1 / -1;
    grid-row: 2;
    height: 12.8vw;
    padding: 0 4vw;
    font-size: 4.2vw;
  }

  .con19_area {
    padding-top: 3vw;
    letter-spacing: -0.05vw;
    grid-column: 1 / -1;
    grid-row: 2;
    height: 26vw;
    padding: 3.6vw 4vw;
    font-size: 4.2vw;
    line-height: 1.5;
  }

  .con19_inp:focus,
  .con19_area:focus {
    border-color: #edcf80;
    background-color: rgba(255, 255, 255, 0.1);
  }

  .con19_inp::placeholder,
  .con19_area::placeholder {
    color: rgba(255, 255, 255, 0.42);
  }

  .con19_sels,
  .con19_sel_type {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
  }

  .con19_sels {
    flex-grow: 1;
    column-gap: 2.4vw;
  }

  .con19_sel_head {
    border-radius: 3vw;
    height: 12.8vw;
    padding: 0 3.6vw 0 4vw;
  }

  .con19_sel_head_a,
  .con19_sel_head_b {
    padding: 0 3.6vw 0 4vw;
  }

  .con19_sel_val {
    letter-spacing: -0.05vw;
    font-size: 4.1vw;
    color: rgba(255, 255, 255, 0.8);
  }

  .con19_sel_arrow {
    width: 3.6vw;
    height: 2.1vw;
    margin-top: 0.5vw;
    filter: brightness(0) invert(1);
    opacity: 0.75;
  }

  .con19_sel_list {
    max-height: 56vw;
    padding: 1.6vw;
    border-radius: 3vw;
    box-shadow: 0 2vw 6vw rgba(0, 0, 0, 0.35);
    top: calc(100% + 1.4vw);
  }

  /* ---- 동의 + CTA ---- */

  .con19_agree {
    min-height: 12.2vw;
    column-gap: 2.6vw;
    margin-right: 0;
    justify-content: center;
    margin-top: 6vw;
  }

  .con19_agree_chk {
    width: 5.6vw;
    height: 5.6vw;
    border-radius: 1.3vw;
    border-color: rgba(255, 255, 255, 0.55);
  }

  .con19_agree_txt {
    letter-spacing: -0.05vw;
    line-height: 1.3;
    font-size: 3.6vw;
    color: rgba(255, 255, 255, 0.85);
  }

  .con19_submit {
    width: 100%;
    letter-spacing: -0.2vw;
    height: 15vw;
    margin-top: 5vw;
    background-color: #edcf80;
    font-size: 4.8vw;
    color: #1d1a19;
    box-shadow: 0 1.6vw 5vw rgba(237, 207, 128, 0.22);
  }

  .con19_submit::before {
    display: none;
  }

  /* con19 연락처 팝업은 PC 전용 — 모바일은 tel:/mailto: 네이티브 동작이라 열릴 일이 없다(js/script.js). 혹시 열려도 PC 크기로 줄어든 상자가 뜨지 않게 막는다 */

  .con19_pop {
    display: none;
  }
}
